Repository navigation
fix: 자료를 올리지 않은 사용자의 isGit·isPortfolio가 500 대신 false를 돌려줌 - #93
Merged
Merged
Conversation
자료를 한 번도 올리지 않은 사용자에게 인증 서버는 gitUrls·fileUrl을 null로 준다. 두 API가 그 값에 바로 isEmpty()를 불러 NPE로 500이 났다. 응답 자체가 null인 경우까지 false로 답한다. fileUrl은 빈 문자열도 없는 것으로 본다 -- launchIfMissing과 같은 기준이다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
자료 업로드 중 인증 서버 createMetaData가 5초를 넘겨 502로 나갔다. 인증 서버에는 저장이 끝나 있었고, 올린 S3 파일은 고아로 남고 분석은 시작되지 않았다. 직접 부르면 0.18초라 일시적인 지연이다. 분석 서버처럼 auth-server.read-timeout을 따로 두고 10초로 잡는다. 채팅 서버는 5초 그대로다. getUser도 같은 클라이언트라 인증 서버가 멈추면 요청 하나가 최대 약 30초(재시도 3회) 붙잡힌다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
danjee2009
reviewed
Oct 14, 2026
danjee2009
left a comment
Member
There was a problem hiding this comment.
[P2] src/main/java/repit/repit_api_server/global/config/HttpInterfaceConfig.java:50 — 인증 서버 클라이언트 전체의 읽기 제한을 10초로 늘려 createMetaData뿐 아니라 getUser와 getMetaData도 영향을 받습니다. 이 두 GET은 ExternalApiExecutor에서 최대 3회 재시도하므로 인증 서버가 느릴 때 요청 스레드가 최대 약 30.6초(10초 × 3회 + 대기) 묶일 수 있습니다. 기존 상한 약 15.6초보다 두 배 늘어 다른 인증 의존 API까지 스레드 고갈과 지연 전파 위험이 커집니다. createMetaData 전용 클라이언트/시간 제한을 두거나, GET 호출에 적용할 상한과 재시도 정책을 분리해 주세요.
CI의 전체 테스트는 통과했습니다.
10초는 createMetaData뿐 아니라 사용자 확인(getUser)과 메타데이터 조회(getMetaData)에도 걸린다. 두 GET은 3회 재시도라 인증 서버가 느리면 요청 스레드가 최대 약 30.6초 묶여, 기존 약 15.6초의 두 배로 다른 인증 의존 API까지 지연이 번진다. 이 PR에서는 빼고 null 처리만 남긴다. This reverts commit 028592e. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
연관 이슈 없음 (ngrok 터널 서버 간 연결 테스트 중 발견)
Task
isGit·isPortfolio가 500 대신false를 돌려줌: 자료를 한 번도 올리지 않은 사용자에게 인증 서버는gitUrls·fileUrl을 null로 줍니다. 두 API가 그 값에 바로isEmpty()를 불러 NPE로 500이 났습니다. 응답 자체가 null인 경우도false로 답합니다.fileUrl은 빈 문자열도 없는 것으로 보는데,AnalysisLaunchService.launchIfMissing과 같은 기준입니다.ETC
getUser)과 메타데이터 조회(getMetaData) GET 요청까지 10초 × 재시도 3회로 묶이는 문제가 있어 revert 커밋으로 5초로 되돌렸습니다. 지금 main과의 차이는 null 처리와 그 테스트뿐입니다.MetaDataControllerTest(새로 추가, 3개),HttpInterfaceConfigTest,ExternalApiLoggingWiringTest통과./analysis/audio가 404입니다(AUDIO_ENABLED가 꺼져 있음). 켤 때AUDIO_CALLBACK_HOSTS에 API 서버 콜백 호스트를 넣어야 합니다.X-Internal-Token을 보내지 않습니다. 지금INTERNAL_AUTH_TOKEN을 설정하면 모든 콜백이 401로 막힙니다.🤖 Generated with Claude Code